python程式目前可採用的副檔名有.py、.pyc、.pyo、.pyw、.pyd等等,
其中pyc和pyd為二進制文件,
且pyd格式是D語言(C/C++綜合進化版本)生成的二進制文件,
pdy是python的動態模組,
實質上也是DLL文件,
而pyc及pyo這兩種格式是可以被反編譯,
最後的pyw單純只用來隱藏命令行的介面而已,
pdy參考資訊: 點擊我
這邊之所採用pyd的主要目的是為了保護程式碼,
避免受到他人盜取採用,
下方將介紹如何將.py生成pdy文件,
這邊採用的python版本為3.6.1
1. 安裝Cython
輸入指令: pip install cython
2. 準備.py檔案
假設有一個test.py檔要轉成pyd文件,
其內容如下:
def hello(): print("hello python world!") |
3. 新建setup.py檔
接著另建一份setup.py文件,
寫法如下:
from distutils.core import setup from Cython.Build import cythonize
setup( name = 'Hello world', ext_modules = cythonize("test.py"), ) |
假設有一個main資料夾裡面含有許多.py檔,
透過下方的方式可一次同時轉多個檔案,
寫法如下:
from distutils.core import setup from Cython.Build import cythonize
setup( name = 'Hello world', ext_modules = cythonize(module_list="main/*.py", exclude='main/__ini__.py'), ) |
4. 生成pdy文件
開啟cmd指定到該目錄,
輸入指令: python setup.py build_ext --inplace
將會生成如下幾個檔案,
可只保留.pyd文件檔即可,
5. 可直接透過import方式來使用.pdy文件
將上述的文件test.cp36-win_amd64.pyd先縮短名稱為test.pyd,
無論是否要縮短名稱都不影響結果,
寫法如下:
import test test.hello() |
輸出的結果為hello python world!
留言列表